# 递归消除
# 定义一个递归函数
make_unique <- function(strings) {
  # 检查是否存在重复元素
  duplicates <- duplicated(strings)
  
  # 如果没有重复元素，则返回
  if (!any(duplicates)) {
    return(strings)
  }
  
  # 对重复元素加空格
  strings[duplicates] <- paste0(" ", strings[duplicates])
  
  # 递归调用，直到所有元素都是唯一的
  make_unique(strings)
}

# 测试函数
strings <- c("apple", "banana", "apple", "orange", "banana", "banana")
unique_strings <- make_unique(strings)

print(unique_strings)



# 函数：根据值查找变量名
find_variable_name <- function(value, env = .GlobalEnv) {
  # 获取环境中的所有变量名
  var_names <- ls(env)
  
  # 遍历变量名，查找与给定值匹配的变量
  for (var_name in var_names) {
    if (identical(get(var_name, envir = env), value)) {
      return(var_name)
    }
  }
  
  return(NULL)  # 如果没有找到匹配的变量名，返回NULL
}